草庐IT

SQL 多列过滤

全部标签

c# - 多列多对一

我有一个遗留数据库和两个表之间的一对一关系。问题是关系使用两列,而不是一列。在nhibernate中有什么方法可以说明在获取引用实体时它在join语句中使用了两列,而不是一列?我有一个类似的表结构任务进度ProgressId任务编号任务编号用户名任务TaskId任务编号任务名称每个任务都可以分配不同的任务。这意味着任务进度的唯一任务只能由AssignmentId和TaskId字段创建。我正在尝试使用这个:References(x=>x.Template).Columns().PropertyRef()但是不知道如何在多个列上映射连接,有什么想法吗? 最佳答案

c# - 如何对可以取消的 DataTable 操作执行 SQL 查询

我试着让标题尽可能具体。基本上我现在在后台工作线程中运行的是一些代码,如下所示:SqlConnectionconn=newSqlConnection(connstring);SqlCommandcmd=newSqlCommand(query,conn);conn.Open();SqlDataAdaptersda=newSqlDataAdapter(cmd);sda.Fill(Results);conn.Close();sda.Dispose();其中query是一个字符串,表示一个大的、耗时的查询,conn是连接对象。我现在的问题是我需要一个停止按钮。我开始意识到杀死后台工作人员将毫无

c# - 如何使用 System.Linq.Expressions.Expression 根据 child 进行过滤?

我有一个在许多方法中使用的过滤器:Expression>filter=child=>child.Status==1;(实际上比这更复杂)我必须做以下事情returndb.Parents.Where(parent=>parent.Status==1&&parent.Child.Status==1);条件与上面的过滤器相同。我想在此方法中重用过滤器。但我不知道怎么办。我试过了returndb.Parents.Where(parent=>parent.Status==1&&filter(parent.Child));但表达式不能用作方法 最佳答案

c# - Entity Framework 中是否有一个函数可以转换为 SQL 中的 RANK() 函数?

假设我想按国家/地区对我的客户数据库进行排名。在SQL中我会写:selectCountryID,CustomerCount=count(*),[Rank]=RANK()over(orderbycount(*)desc)fromCustomer现在我想在EntityFramework中写这个:varranks=db.Customers.GroupBy(c=>c.CountryID).OrderByDescending(g=>g.Count()).Select((g,index)=>new{CountryID=g.Key,CustomerCount=g.Count,Rank=index+1

c# - 如何使用 Sql CE 4 数据库进行功能测试

由于Linq-to-Entities(EF4)和Linq-to-Objects之间的潜在差异,我需要使用实际的数据库来确保我的查询类正确地从EF检索数据。SqlCE4似乎是完美的工具,但是我遇到了一些小问题。这些测试使用的是MsTest。我遇到的问题是,如果数据库没有被重新创建(由于模型更改),数据会在每次测试后不断添加到数据库中,而不会删除数据。这可能会导致测试冲突,查询返回的数据多于预期。我的第一个想法是在TestInitialize方法中初始化一个TransactionScope,并在TestCleanup中处理事务。不幸的是,SqlCE4不支持事务。我的下一个想法是通过File

c# - SQL Server 管理对象 (SMO) 的默认约束不一致

我有一个程序可以使用SQLServer管理对象(SMO)为MicrosoftSQLServer数据库生成DDL脚本。但是,根据服务器和数据库,我收到表的默认约束输出不一致。有时它们与CREATETABLE语句内联,有时它们是独立的ALTERTABLE语句。我意识到两者都是有效且正确的SQL语句,但如果没有一致性,它会阻止多个数据库的输出之间的自动比较,并阻止将输出添加到源代码管理以跟踪数据库模式的更改。如何确保默认约束的脚本输出的一致性?示例程序代码应该简单明了。打开服务器和数据库,然后为每个数据库对象生成单独的脚本文件,再加上一个包含整个数据库脚本的文件。我省略了很多似乎已经生成一致

c# - 过滤异常处理程序中的代码在访问异常时抛出 NullReferenceException

当我使用.NETNative编译器编译UWP应用程序并打开代码优化(本质上是Release模式)时,当我尝试访问catchblock中的实际异常时,我得到了一个NullReferenceException.代码示例:try{thrownewArgumentNullException("Param");}catch(ArgumentNullExceptionex)when(ex.ParamName=="Param"){ErrorBlock.Text=ex.ParamName;//ErrorBlockisaTextBlockinthexaml}catch(Exception){}它进入正确

c# - 如何将数据从 Sql 对象复制到 C# 模型属性

我有两个表:员工:Id、姓名、DepartmentId部门:Id,姓名员工.cs:publicintId{get;set;}publicstringName{get;set;}publicintDepartmentId{get;set;}部门.cs:publicintId{get;set;}publicstringName{get;set;}View模型:EmployeeDepartmentVM:publicDepartmentdepartment{get;set;}publicListemployees{get;set;}为了连接这两个表,我编写了这段代码:SELECTE.*,D.I

c# - SQL Server 将 SP_EXECUTESQL 识别为对象而不是过程名称

我正在使用DBContext.Database.SqlQuery从我的C#代码存储库执行存储过程。它工作正常,但我想知道为什么它会执行如下程序:execsp_executesqlN'EXECGetCaseList@CaseStage',N'@CaseStageint',@CaseStage=9而不是EXECGetCaseList@CaseStage=9有什么方法可以像这样从C#执行我的所有过程EXECGetCaseList@CaseStage=9而不是execsp_executesqlN'EXECGetCaseList@CaseStage',N'@CaseStageint',@Case

c# - 将在 C# 中创建的哈希与 sql 匹配

我有一个用于生成散列的方法:publicstaticstringGetMD5Hash(stringinput){System.Security.Cryptography.MD5CryptoServiceProviderx=newSystem.Security.Cryptography.MD5CryptoServiceProvider();byte[]bs=System.Text.Encoding.UTF8.GetBytes(input);bs=x.ComputeHash(bs);System.Text.StringBuilders=newSystem.Text.StringBuilde